package com.cib.xagcjs.dal;

import com.cib.xagcjs.vo.PaymentNotify;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface PaymentNotifyMapper {
    /**
     * 插入通知主表
     * @param data 通知数据
     * @return 影响行数
     */
    int insertNotify(PaymentNotify data);

    /**
     * 根据批次号查询批次时间
     * @param batch 批次号
     * @return 批次时间
     */
    String findNotifyTime(String batch);

    /**
     * 根据batch修改其通知的状态为 2 已获取支付信息
     * @param batch status 批次号和
     * @return 执行影响的行数
     */
    int updateStatus(@Param("batch") String batch, @Param("status") int status);

    /**
     * 根据所选状态查询批次数组
     * @return 批次号数组
     */
    String[] selectBatches(@Param("status") int status);

    /**
     * 查询当前批次入库时记录的总笔数信息
     * @param batch 批次号
     * @return 总笔数
     */
    int selectTotalNum(@Param("batch") String batch);

    /**
     * 根据batch获取当前批次的主表通知信息
     * @param batch 批次号
     * @return 批次信息
     */
    PaymentNotify selectPayNotify(@Param("batch") String batch);
}
